{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "os.environ['CUDA_VISIBLE_DEVICES'] = ''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import malaya\n",
    "model = malaya.true_case.transformer(model = 'base')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "\n",
    "with open('prepare/test-set-true-case.json') as fopen:\n",
    "    data = json.load(fopen)\n",
    "    \n",
    "X, Y = [], []\n",
    "for x, y in data:\n",
    "    X.append(x)\n",
    "    Y.append(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['leO duboIS (laHiR 14 sePtembeR 1994) MEruPakAN sEoranG pEmain bolA sepAK profeSional PeraNcis yaNG BeRAkSi Di posIsi bek KanaN untuk LyON Dan pasukan kebanGsaan pEranciS. duboIs BeRakSi untUK kelAB NaNtEs daN meLAKukAn peNampIlAn SuLungnyA dalam saingan liGue 1 bErsamA kElaB itu padA 9 mei 2015 ketika meNEnTaNg boRDeaux SElEPaS MENGgAntikan pemaIn kian HansEn PaDa MiNIt kE-83 yang berAkhiR deNGaN kEkaLAhan 2-1. Dubois mENyertai kelaB oLyMPiquE lYOnnaiS pAdA 1 JulAI 2018. dubois telah DipANggIL OlEh pasukaN kEbANgSaan PeRancis pAda mEI 2019. BEliaU melakuKAn penaMPiLan pErtamanya pADA 2 juN 2019 DALam pErLaWANaN peRSaHABatAn mEneNtANG bOlivia selePas MEnggAnTikAn benjamin pavaRd PaDa Minit ke-46 PerMainaN.',\n",
       " 'Leo Dubois lahir 14 September 1994 merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019 Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan',\n",
       " \"LEo DuBois (lahir 14 SePTemBeR} 1994) mERuPakAn SeOrAng PEMAIn bOla sepaK pRoFEsional! Perancis yAng' beRaKsi) dI: posIsi{ bek kaNAn uNtuK LyoN] dan/ PasUKan kebangsaan PEraNCis. DuboiS> bEraKsi untUK, Kelab NanTes} dan mElakuKaN/ penaMpiLaN suluNGNya dalam SaIngAN. LIguE) 1 BeRsaMa( kElAB& iTu) paDa 9 Mei 2015} keTika menEntAnG BOrdEAUX Selepas menggantIKan PeMAiN Kian: HanseN paDa MInit ke-83 YAng bERAkHIR dENgan\\\\ kekalAHAn( 2-1. DUboiS menYErtAi KelAb{ OlympiQue? LyonnAis) pada 1 JuLAi 2018. DuBOiS Telah dipAnggIl oleh paSukan& keBangsaAN PeraNcis( padA MeI 2019. BeliAU MElakUkan? peNamPIlan peRTamanYa PAda 2; JuN. 2019 dalam perlawanAn. peRsahABaTAn\\\\ Menentang BOlivia> SElEPAs MEnGgAntikAN BENjamin PAVArd padA miNit KE-46% pERmainaN.\",\n",
       " 'Leo Dubois (Lahir 14 September 1994 ) Merupakan Seorang Pemain Bola Sepak Profesional Perancis Yang Beraksi Di Posisi Bek Kanan Untuk Lyon Dan Pasukan Kebangsaan Perancis. Dubois Beraksi Untuk Kelab Nantes Dan Melakukan Penampilan Sulungnya Dalam Saingan Ligue 1 Bersama Kelab Itu Pada 9 Mei 2015 Ketika Menentang Bordeaux Selepas Menggantikan Pemain Kian Hansen Pada Minit Ke-83 Yang Berakhir Dengan Kekalahan 2-1 . Dubois Menyertai Kelab Olympique Lyonnais Pada 1 Julai 2018 . Dubois Telah Dipanggil Oleh Pasukan Kebangsaan Perancis Pada Mei 2019 . Beliau Melakukan Penampilan Pertamanya Pada 2 Jun 2019 Dalam Perlawanan Persahabatan Menentang Bolivia Selepas Menggantikan Benjamin Pavard Pada Minit Ke-46 Permainan .',\n",
       " 'Leo\\' Dubois? (lahir 14 September 1994) merupakan seorang} pemain bola] sepak profesional Perancis yang beraksi? di posisi bek} kanan untuk: Lyon( dan pasukan( kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan! sulungnya) dalam\" saingan Ligue\" 1 bersama kelab itu, pada> 9? Mei 2015) ketika menentang/ Bordeaux selepas\\\\ menggantikan pemain Kian Hansen: pada: minit{ ke-83 yang berakhir dengan kekalahan, 2-1. Dubois, menyertai kelab Olympique{ Lyonnais\\\\ pada 1& Julai 2018. Dubois telah dipanggil oleh pasukan\\\\ kebangsaan Perancis pada Mei> 2019. Beliau melakukan penampilan pertamanya pada 2} Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard! pada minit ke-46 permainan.',\n",
       " 'LEO Dubois (Lahir 14 September 1994) MERUPAKAN SEORANG PEMAIN BOLA SEPAK Profesional Perancis Yang BERAKSI DI Posisi BEK KANAN UNTUK LYON Dan PASUKAN Kebangsaan PERANCIS. Dubois Beraksi UNTUK Kelab NANTES DAN Melakukan PENAMPILAN Sulungnya DALAM Saingan LIGUE 1 BERSAMA Kelab Itu PADA 9 MEI 2015 KETIKA Menentang Bordeaux Selepas MENGGANTIKAN PEMAIN Kian Hansen PADA MINIT Ke-83 Yang BERAKHIR Dengan Kekalahan 2-1. Dubois MENYERTAI Kelab Olympique Lyonnais PADA 1 JULAI 2018. DUBOIS TELAH DIPANGGIL OLEH PASUKAN Kebangsaan PERANCIS Pada Mei 2019. BELIAU MELAKUKAN Penampilan Pertamanya Pada 2 Jun 2019 DALAM Perlawanan Persahabatan Menentang BOLIVIA SELEPAS MENGGANTIKAN BENJAMIN PAVARD Pada Minit Ke-46 PERMAINAN.',\n",
       " 'LEO, DUBOIS (LAHIR 14 SEPTEMBER\" 1994) MERUPAKAN SEORANG PEMAIN BOLA? SEPAK PROFESIONAL> PERANCIS YANG BERAKSI< DI, POSISI BEK KANAN& UNTUK LYON DAN PASUKAN KEBANGSAAN PERANCIS. DUBOIS! BERAKSI UNTUK KELAB NANTES DAN MELAKUKAN PENAMPILAN] SULUNGNYA DALAM SAINGAN LIGUE] 1 BERSAMA KELAB} ITU PADA 9 MEI 2015 KETIKA MENENTANG\\\\ BORDEAUX SELEPAS MENGGANTIKAN PEMAIN KIAN< HANSEN< PADA; MINIT KE-83 YANG BERAKHIR DENGAN KEKALAHAN 2-1. DUBOIS MENYERTAI KELAB[ OLYMPIQUE LYONNAIS! PADA, 1 JULAI 2018. DUBOIS TELAH DIPANGGIL; OLEH PASUKAN. KEBANGSAAN PERANCIS PADA MEI 2019. BELIAU MELAKUKAN/ PENAMPILAN PERTAMANYA: PADA 2 JUN, 2019 DALAM PERLAWANAN PERSAHABATAN MENENTANG. BOLIVIA SELEPAS. MENGGANTIKAN BENJAMIN? PAVARD PADA MINIT KE-46< PERMAINAN.',\n",
       " 'LEo DuBois (Lahir 14 September 1994) MERupakaN SEoranG Pemain BOla SepaK ProFEsIoNAl PERAnCiS YANg BErakSi Di PoSisi Bek KaNaN UnTuK Lyon Dan PAsukAN KebaNgSaAn PeRanciS. DUbois BeRakSi Untuk KeLab NANTes DAN MelakUkaN PeNAmpILan SuLungNyA Dalam SaingaN LiguE 1 BeRsama KeLaB ItU PadA 9 Mei 2015 KetIkA MenEnTaNg BordEaUx SelepAs MenggAntikan PemAin KiAn HanseN PAda MIniT Ke-83 YaNg BeraKhIr DeNGan Kekalahan 2-1. DUBoIs MENyerTai KeLab OlyMpique LyOnnaiS PaDa 1 JulAI 2018. DuBOis TeLah DipANGgil Oleh PasukaN KEbAngsAAn PeranCIs PadA MEi 2019. BEliau MelakukaN PenaMpIlaN PERTAmanYA PadA 2 JUn 2019 Dalam PerLawanAn PErsaHabatan MenEnTang BolIVia SElepaS MENggantiKAn BEnJaMIN PavarD Pada MiNit Ke-46 PermAINAn.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'LEO DUBOIS LAHIR 14 SEPTEMBER 1994 MERUPAKAN SEORANG PEMAIN BOLA SEPAK PROFESIONAL PERANCIS YANG BERAKSI DI POSISI BEK KANAN UNTUK LYON DAN PASUKAN KEBANGSAAN PERANCIS DUBOIS BERAKSI UNTUK KELAB NANTES DAN MELAKUKAN PENAMPILAN SULUNGNYA DALAM SAINGAN LIGUE 1 BERSAMA KELAB ITU PADA 9 MEI 2015 KETIKA MENENTANG BORDEAUX SELEPAS MENGGANTIKAN PEMAIN KIAN HANSEN PADA MINIT KE-83 YANG BERAKHIR DENGAN KEKALAHAN 2-1 DUBOIS MENYERTAI KELAB OLYMPIQUE LYONNAIS PADA 1 JULAI 2018 DUBOIS TELAH DIPANGGIL OLEH PASUKAN KEBANGSAAN PERANCIS PADA MEI 2019. BELIAU MELAKUKAN PENAMPILAN PERTAMANYA PADA 2 JUN 2019 DALAM PERLAWANAN PERSAHABATAN MENENTANG BOLIVIA SELEPAS MENGGANTIKAN BENJAMIN PAVARD PADA MINIT KE-46 PERMAINAN']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux. Selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1, Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.']"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.greedy_decoder(X[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██        | 3576/17343 [2:21:25<8:41:27,  2.27s/it]  IOPub message rate exceeded.\n",
      "The notebook server will temporarily stop sending output\n",
      "to the client in order to avoid crashing it.\n",
      "To change this limit, set the config variable\n",
      "`--NotebookApp.iopub_msg_rate_limit`.\n",
      "\n",
      "Current values:\n",
      "NotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n",
      "NotebookApp.rate_limit_window=3.0 (secs)\n",
      "\n",
      " 57%|█████▋    | 9842/17343 [6:46:27<32:42,  3.82it/s]   IOPub message rate exceeded.\n",
      "The notebook server will temporarily stop sending output\n",
      "to the client in order to avoid crashing it.\n",
      "To change this limit, set the config variable\n",
      "`--NotebookApp.iopub_msg_rate_limit`.\n",
      "\n",
      "Current values:\n",
      "NotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n",
      "NotebookApp.rate_limit_window=3.0 (secs)\n",
      "\n",
      " 92%|█████████▏| 15889/17343 [7:28:06<15:44,  1.54it/s]  IOPub message rate exceeded.\n",
      "The notebook server will temporarily stop sending output\n",
      "to the client in order to avoid crashing it.\n",
      "To change this limit, set the config variable\n",
      "`--NotebookApp.iopub_msg_rate_limit`.\n",
      "\n",
      "Current values:\n",
      "NotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n",
      "NotebookApp.rate_limit_window=3.0 (secs)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from tqdm import tqdm\n",
    "\n",
    "batch_size = 10\n",
    "results = []\n",
    "for i in tqdm(range(0, len(X), batch_size)):\n",
    "    batch_x = X[i: i + batch_size]\n",
    "    r = model.greedy_decoder(batch_x)\n",
    "    results.extend(r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.',\n",
       " 'Leo Dubois (lahir 14 September 1994) merupakan seorang pemain bola sepak profesional Perancis yang beraksi di posisi bek kanan untuk Lyon dan pasukan kebangsaan Perancis. Dubois beraksi untuk kelab Nantes dan melakukan penampilan sulungnya dalam saingan Ligue 1 bersama kelab itu pada 9 Mei 2015 ketika menentang Bordeaux selepas menggantikan pemain Kian Hansen pada minit ke-83 yang berakhir dengan kekalahan 2-1. Dubois menyertai kelab Olympique Lyonnais pada 1 Julai 2018. Dubois telah dipanggil oleh pasukan kebangsaan Perancis pada Mei 2019. Beliau melakukan penampilan pertamanya pada 2 Jun 2019 dalam perlawanan persahabatan menentang Bolivia selepas menggantikan Benjamin Pavard pada minit ke-46 permainan.')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results_Y = results[:]\n",
    "results_Y[0], Y[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def calculate_cer(actual, hyp):\n",
    "    \"\"\"\n",
    "    Calculate CER using `python-Levenshtein`.\n",
    "    \"\"\"\n",
    "    import Levenshtein as Lev\n",
    "\n",
    "    actual = actual.replace(' ', '')\n",
    "    hyp = hyp.replace(' ', '')\n",
    "    return Lev.distance(actual, hyp) / len(actual)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 173430/173430 [00:15<00:00, 11156.75it/s]\n"
     ]
    }
   ],
   "source": [
    "cer = []\n",
    "for i in tqdm(range(len(results_Y))):\n",
    "    cer.append(calculate_cer(Y[i], results_Y[i]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.015390431622319614"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "np.mean(cer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
